// #include "DDL_Uart_Ringbuffer.h"
// #include <string.h>
// #include <stddef.h>

// /**
//  * @brief UART接收中断处理函数
//  * @param rb 环形缓冲区结构体指针
//  * @param data 接收到的数据字节
//  * @return None
//  */
// void ddl_uart_rx_isr(uart_ringbuffer_t *rb, uint8_t data) {
//     uint16_t next_head;
    
//     // 计算下一个head位置
//     next_head = (rb->head + 1) & (rb->size - 1);
    
//     // 检查缓冲区是否已满
//     if (next_head != rb->tail) {
//         // 缓冲区未满，写入数据
//         rb->buffer[rb->head] = data;
//         rb->head = next_head;
//         rb->count++;
//     } else {
//         // 缓冲区已满，增加溢出计数
//         rb->overflow_count++;
//     }
// }

// /**
//  * @brief UART发送中断处理函数
//  * @param rb 环形缓冲区结构体指针
//  * @return None
//  */
// void ddl_uart_tx_isr(uart_ringbuffer_t *rb) {
//     // 检查缓冲区是否为空
//     if (rb->tail != rb->head) {
//         // 从缓冲区读取数据并发送
//         uint8_t data = rb->buffer[rb->tail];
//         rb->tail = (rb->tail + 1) & (rb->size - 1);
//         rb->count--;
        
//         // 实际的UART发送操作应该在这里调用硬件相关的发送函数
//         // 例如: uart_send_byte(data);
//         // 这里只是一个示例，实际实现需要根据具体硬件平台调整
//     }
// }

// /**
//  * @brief 在UART接收中断中调用此函数来处理接收的数据
//  * @param rb 环形缓冲区结构体指针
//  * @param data 接收到的数据字节
//  * @return None
//  */
// void ddl_uart_handle_rx_data(uart_ringbuffer_t *rb, uint8_t data) {
//     ddl_uart_rx_isr(rb, data);
// }

// /**
//  * @brief 在UART发送中断中调用此函数来继续发送数据
//  * @param rb 环形缓冲区结构体指针
//  * @return None
//  */
// void ddl_uart_handle_tx_interrupt(uart_ringbuffer_t *rb) {
//     ddl_uart_tx_isr(rb);
// }